<?php
session_cache_limiter("nocache");
//session_start();
require_once('../utilidades/ConexionBD.php');
require_once('OrdTrabajoRecMercanciaItemSubItemFoto.php');

class OrdTrabajoRecMercanciaItemSubItem {
    
    //--- Atributos

    //--- constructor
    function __construct(){
    }    

    //--- Metodos        
    public static function selectById($id){
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemSubItem\"(
                'selectById'
                ,NULL
                ,".$id."
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));                
        }
        //--- Cierro la conexion
        ConexionBD::get()->desconectarse();        
        
        while($row = pg_fetch_array($res)) {
            $list=array(
                "id"                   =>$row["@id"],
                "fechaGrab"            =>$row["@fechaGrab"],
                "usuarioGrab"          =>$row["@usuarioGrab"],
                "activo"               =>$row["@activo"],
                "codOrdTrabajo"        =>$row["@codOrdTrabajo"],
                "codOrdTrabajoRecMercancia"     =>$row["@codOrdTrabajoRecMercancia"],            
                "codOrdTrabajoRecMercanciaItem" =>$row["@codOrdTrabajoRecMercanciaItem"],            
                "codOrdTrabajoRecMercanciaItemSubItem" =>$row["@codOrdTrabajoRecMercanciaItemSubItem"],            
                "codMaeMaterial"        =>$row["@codMaeMaterial"],            
                "codPaisFabricacion"    =>$row["@codPaisFabricacion"],                            
                "codMaeObservacionItem" =>$row["@codMaeObservacionItem"],                            
                "descOtroMaeObservacionItem"    =>$row["@descOtroMaeObservacionItem"],                            
                "referencia"    =>$row["@referencia"],            
                "modelo"        =>$row["@modelo"],            
                "descripcion"   =>$row["@descripcion"],            
                "cantidad"      =>$row["@cantidad"],
                "anoFabricacion"=>$row["@anoFabricacion"],
                "observaciones" =>$row["@observaciones"],
                "serial"        =>$row["@serial"],
                "codMaeMercanciaEstado"        =>$row["@codMaeMercanciaEstado"],
                "consecutivo"   =>$row["@consecutivo"],
                "marca"   =>$row["@marca"],
            );
            return json_encode($list);
        }
        return json_encode("");
    }
    
    public static function selectByIdOrdTrabajoRecMercanciaItemHTMLTableFormat($idordTrabajoRecMercanciaItem,$numPagina,$registrosPorPagina){
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemSubItem\"(
                'selectByIdOrdTrabajoRecMercanciaItem'
                ,'".$numPagina."|".$registrosPorPagina."'
                ,".$idordTrabajoRecMercanciaItem."
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
            );";
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        
        $html="";
        while($row = pg_fetch_array($res)) {
            $html=$html."<tr id='".$row["@id"]."'>";
            $html=$html."<td>".$row["@codOrdTrabajoRecMercanciaItemSubItem"]."</td>";        
            $html=$html."<td>".$row["@referencia"]."</td>";        
            $html=$html."<td>".$row["@cantidad"]."</td>";        
            $html=$html."<td>".$row["@descripcion"]."</td>";        
            $html=$html."<td>";        
            $html=$html."&nbsp;<img class='icon-remove-RecMercanciaItemSubItem' id='icon-remove' src='../recursos/imagenes/remove.png' title='Eliminar el Registro'>";        
            $html=$html."&nbsp;&nbsp;<img class='icon-picture_SubItem' id='icon-picture' src='../recursos/imagenes/photo.png' title='Anexar Foto'>";        
            $html=$html."</td>";        
            $html=$html."</tr>";                    
        }
        //-- Cierro la conexion
        ConexionBD::get()->desconectarse();        
        
        //-- retorno el resultado
        return json_encode(array("HTML"=>$html));        
    }
        
    public static function selectByIdOrdTrabajoRecMercanciaItemPDFReport($idordTrabajoRecMercanciaItem){
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemSubItem\"(
                'selectByIdOrdTrabajoRecMercanciaItem'
                ,NULL
                ,".$idordTrabajoRecMercanciaItem."
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
            );";
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            echo str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()));                
            return null;
        }
        
        $html="";
        $ot=new OrdTrabajo();
        
        while($row = pg_fetch_array($res)) {
            //--- cargo el material
            $mat=new MaeMaterial();
            $mat->selectThisByCodigo($row["@codMaeMaterial"]);
            //--- cargo el pais
            $paisF=new MaePais();
            $paisF->selectThisByCodigo($row["@codPaisFabricacion"]);
            //--- cargo el estado de la mercancia
            $estM=new MaeMercanciaEstado();
            $estM->selectThisByCodigo($row["@codMaeMercanciaEstado"]);

$html=$html.'
<tr>
    <td colspan="5" bgcolor="#D4FFAA" style="text-align:center;">
        <div>
            <p style="font-size:11px; font-weight:bold;">SUBITEM '.$row["@codOrdTrabajoRecMercanciaItemSubItem"].'</p>                        
        </div>
    </td>
</tr>
<tr>
    <td style="width: 10%; font-weight:bold; font-size:11px;">Serial</td>
    <td style="width: 10%; font-weight:bold; font-size:11px;">Referencia</td>
    <td style="width: 20%; font-weight:bold; font-size:11px;">Marca</td>
    <td style="width: 30%; font-weight:bold; font-size:11px;">Modelo</td>
    <td style="width: 28%; font-weight:bold; font-size:11px;">Pais</td>
</tr>
<tr>
    <td style="font-size:11px;">'.$row["@serial"].'</td>
    <td style="font-size:11px;">'.$row["@referencia"].'</td>
    <td style="font-size:11px;">'.$row["@marca"].'</td>
    <td style="font-size:11px;">'.$row["@modelo"].'</td>
    <td style="font-size:11px;">'.$paisF->getNombreMaePais().'</td>
</tr>
<tr>
    <td colspan="2" style="font-weight:bold; font-size:11px;">Material</td>
    <td style="font-weight:bold; font-size:11px;">estado</td>
    <td colspan="2" style="font-weight:bold; font-size:11px;">Descripcion</td>    
</tr>
<tr>
    <td colspan="2" style="font-size:11px;"> '.$mat->getNombreMaeMaterial().'</td>
    <td style="font-size:11px;">'.$estM->getNombreMaeMercanciaEstado().'</td>
    <td colspan="2" style="font-size:11px;">'.$row["@descripcion"].'</td>    
</tr>
';
if(trim($row["@observaciones"])!=""){
$html=$html.
'<tr>
    <td colspan="5" style="font-weight:bold; font-size:11px;">Observaciones</td>    
</tr>
<tr>
    <td colspan="5" style="font-size:11px;">'.$row["@observaciones"].'</td>
</tr>
';
}
//--- cargo las fotos del SUBITEM
$html=$html.  OrdTrabajoRecMercanciaItemSubItemFoto::selectByIdOrdTrabajoRecMercanciaItemSubItemPDFReport($row["@id"]);

        }
        //-- Cierro la conexion
        ConexionBD::get()->desconectarse();        
        
        //-- retorno el resultado
        return $html;        
    }

    public static function insert(
            $codUsuario,$activo,$idOrdTrabajoRecMercanciaItem,$codMaeMaterial,$codPaisFabricacion,
            $codMaeObservacionItem,$descOtroMaeObservacionItem,$referencia,$modelo,$descripcion,
            $cantidad,$anoFabricacion,$observaciones,$serial,$codMaeMercanciaEstado,$marca)
    {
        
        //return json_encode(array("ERROR"=>$idOrdTrabajoRecMercanciaItem." - ".$cantidad." - ".$anoFabricacion));
        //exit();
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemSubItem\"(
                'insert'
                ,NULL
                ,".$idOrdTrabajoRecMercanciaItem."
                ,NULL
                ,'".$codUsuario."'
                ,'".(($activo) ? 'true' : 'false')."'
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,'".$codMaeMaterial."'
                ,'".$codPaisFabricacion."'
                ,'".$codMaeObservacionItem."'
                ,'".$descOtroMaeObservacionItem."'
                ,'".$referencia."'
                ,'".$modelo."'
                ,'".$descripcion."'
                ,'".$cantidad."'
                ,'".$anoFabricacion."'
                ,'".$observaciones."'
                ,'".$serial."'
                ,'".$codMaeMercanciaEstado."'
                ,NULL
                ,'".$marca."'                
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        ConexionBD::get()->desconectarse();   
        
        //--- debo retornar el id que se genero al hacer la insercion
        while($row = pg_fetch_array($res)) {
            return json_encode(array("id"=>$row["@id"]));
        }
        //-- retorno sino devolvio un id, retorno cero para que no se generen erroes en la vista
        return json_encode(array("id"=>"0"));
    }
    
    /*
    public static function update(
             $codUsuario,$id,$activo,$codOrdTrabajo,$codOrdTrabajoRecMercancia,$codOrdTrabajoRecMercanciaItem,$codOrdTrabajoRecMercanciaItemSubItem
            ,$codMaeMaterial,$codPaisFabricacion,$referencia,$modelo,$descripcion,$cantidad,$lote,$anoFabricacion,$observaciones,$serial,$codMaeMercanciaEstado,$consecutivo)
    {
        //--- verifico que el registro actual exista
        if($id==0){
            return;
        }
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItem\"(
                'update'
                ,NULL
                ,".$id."
                ,NULL
                ,'".$codUsuario."'
                ,'".(($activo) ? 'true' : 'false')."'
                ,'".$codOrdTrabajo."'
                ,'".$codOrdTrabajoRecMercancia."'
                ,'".$codOrdTrabajoRecMercanciaItem."'
                ,'".$codOrdTrabajoRecMercanciaItemSubItem."'
                ,'".$codMaeMaterial."'
                ,'".$codPaisFabricacion."'
                ,'".$referencia."'
                ,'".$modelo."'
                ,'".$descripcion."'
                ,'".$cantidad."'
                ,'".$anoFabricacion."'
                ,'".$observaciones."'
                ,'".$serial."'
                ,'".$codMaeMercanciaEstado."'
                ,'".$consecutivo."'
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        ConexionBD::get()->desconectarse();        
        return json_encode("");
    }
    */
    
    public static function delete($codUsuario,$id){
        //--- verifico que el registro actual exista
        if($id==0){
            return;
        }
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemSubItem\"(
                'delete'
                ,NULL
                ,".$id."
                ,NULL
                ,'".$codUsuario."'
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        ConexionBD::get()->desconectarse();        
        return json_encode("");
    }    
}
?>
